This invention is directed to the field of digital data processing and, more particularly, to the field of localizing and correcting faults in the operation of multiprogrammed digital data processing systems.
A conventional computer system operates under the control of a collection of programs known as an "operating system" which provides an interface between machine hardware of the host computer and user programs being processed by that computer. An important aspect of the interface is the control of allocation of physical computer resources, including the program and data stores, the central processing unit, and the input/output devices.
Among the various types of operating systems provided in the art is the so-called "multiprogrammed" operating system. In such a system, the host computer concurrently maintains several user programs in main storage and allocates the central processor to each of those programs on an alternating basis. More particularly, as the host computer runs, its operating system dedicates system resources to each process for a brief period of time, termed a "time slice." In carrying out this task, the operating system must save state information for each process awaiting execution, while storing in the registers and cache state information for the process which is presently active.
While on many machines the swapping of processes is done entirely in software, on some machines, e.g., the Series 50 computer systems manufactured by the assignee hereof, Prime Computer, Inc. of Natick, Mass., process exchange is done in hardware or, more specifically, through action of system microcode.
With reference to another aspect of operation, computers may have an architecture which provides an "embedded" operating system. In such a system, the address space of all processes, e.g., user programs, includes a single, shared copy of the operating system code. Within these systems, each user process executes a procedure call whenever it desires to execute a portion of the shared operating system code. Such a procedure call is identical to that used by the user process to execute its own subroutines.
With this background, an object of the invention is to provide an improved digital data processing system. More particularly, an object of the invention is to provide a digital data processing system with improved fault detecting capabilities.
Further, an object of the invention is to provide a mechanism for identifying and correcting faults in an embedded operating system of multiprogrammable digital data processor having hardware-controlled process exchange.
Still further, an object of the invention is to provide an improved system of the type described above in which process operation can be suspended at designated points in the instruction sequence.
Other objects of the invention are evident in the discussion which follows.